package com.sky.context;

public class BaseContext {
//    ThreadLocal是线程内部的数据存储类，通过它存储的数据只能被当前线程访问，其他线程无法访问，
//    一次请求的过滤器，controller，service，dao等组件都是同一个线程，所以可以共享同一个ThreadLocal，
//    这样就不用在每个需要共享数据的方法中都传递一个参数了。
    public static ThreadLocal<Long> threadLocal = new ThreadLocal<>();

    public static void setCurrentId(Long id) {
        threadLocal.set(id);
    }

    public static Long getCurrentId() {
        return threadLocal.get();
    }

    public static void removeCurrentId() {
        threadLocal.remove();
    }

}
